Acoustic source localization system and applications of the same

ABSTRACT

A system for locating an acoustic source from an acoustic event of the acoustic source. In one embodiment, the system includes a sensor network having a plurality of spatially separated sensor nodes each located in a predetermined position encountering acoustic waves generated by an acoustic event passing proximate to the plurality of spatially separated sensor nodes, where the plurality of spatially separated sensor nodes are synchronized to a common time base such that when the acoustic event is detected, information of the acoustic waves from each of the plurality of spatially separated sensor nodes is obtained and broadcasted through the sensor network. The system further includes a base station for receiving information of the acoustic waves broadcasted from the sensor network and processing the received information of the acoustic waves so as to locate the acoustic source of the acoustic event.

CROSS-REFERENCE TO RELATED PATENT APPLICATION

This application claims the benefit, pursuant to 35 U.S.C. § 119(e), ofU.S. provisional patent application Ser. No. 60/610,310, filed Sep. 17,2004, entitled “AN ACOUSTIC SOURCE LOCALIZATION SYSTEM AND APPLICATIONSOF THE SAME,” by Akos Ledeczi, Miklos Maroti, Gyula Simon and GyorgyBalogh, which is incorporated herein by reference in its entirety.

Some references, which may include patents, patent applications andvarious publications, are cited and discussed in the description of thisinvention. The citation and/or discussion of such references is providedmerely to clarify the description of the present invention and is not anadmission that any such reference is “prior art” to the inventiondescribed herein. All references cited and discussed in thisspecification are incorporated herein by reference in their entiretiesand to the same extent as if each reference was individuallyincorporated by reference. In terms of notation, hereinafter, “[n]”represents the nth reference cited in the reference list. For example,[9] represents the 9^(th) reference cited in the reference list, namely,Maroti, 2004, Directed Flood-Routing Framework, Technical Report,Institute for Software Integrated Systems, Vanderbilt University.

STATEMENT OF FEDERALLY-SPONSORED RESEARCH

The present invention was made with Government support under a contract733615-01-C-1903 awarded by Defense Advanced Research Projects Agency(DARPA). The United States Government may have certain rights to thisinvention pursuant to these grants.

FIELD OF THE INVENTION

The present invention is generally related to source localization, andin particular, is related to the utilization of an acoustic sourcelocalization system to locate an acoustic source from an acoustic eventof the acoustic source.

BACKGROUND OF THE INVENTION

Acoustic source localization is a well-studied problem. A special caseof such a problem is shooter detection and localization. There are manycountersniper systems available. However, their performance in urbanenvironments is usually unsatisfactory. For the countersniper systemsthat measure phenomena associated with the ejection of a bullet from agun, such as a muzzle blast or a muzzle flash, they require a directline of a site to the gun shooter. This significantly limits thecoverage efficiency in a dense urban terrain. For the countersnipersystems that detect the projectile and try to reconstruct thetrajectory, they are typically accurate in their bearing detection, butnot as much as in their range estimation. Furthermore, the environmentalconditions associated with active warfare, or even typical peacetimeurban noise, aggravate the problem.

The majority of sniper detection systems are acoustic related and mostof them measure both a muzzle blast and a shock wave [77]. The ballisticshock wave is a sonic boom generated by a supersonic projectile, and hasa specific wave shape based on a diameter and a length of the projectileitself, a distance from the flight path along with the velocity of theprojectile [6]. A shock wave form generated by the flight of aprojectile is called an N-wave, due to its characteristic shape.

A bullet ears system of BBN Technologies, Cambridge, Mass., measures thetime of arrival of a shock wave along with its basic characteristicswhich enables the estimation of the caliber, the speed and trajectory ofthe projectile using two small arrays of inexpensive microphones [1].The bullet ears system also detects a muzzle blast to estimate the rangeof a shooter. Utilizing two microphone arrays it estimates the origin ofthe shot within ±2° in bearing and 110% in range depending on thedistance between the two arrays versus the firing range.

All of the conventional systems, either acoustic or others, share onecommon characteristic. They do not perform well in urban environments.These systems are all centralized in the sense that they rely on a smallnumber of sensors or small sensor arrays, typically one or two. If someof the limited number of sensors do not have direct line of sight, theywill not detect the shot. In case of the acoustic systems, the problembecomes much harder due to multi-path effects. Instead of missing ashot, they may pick up echoes resulting in an erroneous locationestimate.

Therefore, a heretofore unaddressed need exists in the art to addressthe aforementioned deficiencies and inadequacies.

SUMMARY OF THE INVENTION

The present invention, in one aspect, relates to a system for locatingan acoustic source from an acoustic event of the acoustic source. Theacoustic wave comprises a shock wave. In one embodiment, the system hasa sensor network and a base station. The sensor network has a pluralityof spatially separated sensor nodes. Each spatially separated sensornode is located in a predetermined position encountering acoustic wavesgenerated by an acoustic event passing proximate to the plurality ofspatially separated sensor nodes. The plurality of spatially separatedsensor nodes of the sensor network are synchronized to a common timebase such that when the acoustic event is detected, information of theacoustic waves from each of the plurality of spatially separated sensornodes is obtained and broadcasted through the sensor network. Theinformation of the acoustic waves includes the time of arrival of theacoustic waves at the corresponding sensor node. The base station isadapted for receiving information of the acoustic waves broadcasted fromthe sensor network and processing the received information of theacoustic waves so as to locate the acoustic source of the acousticevent. In one embodiment, the base station comprises a computer. Thesystem further includes a middleware service for synchronizing theplurality of spatially separated sensor nodes of the sensor network androuting message through the sensor network.

In one embodiment, the plurality of spatially separated sensor nodescommunicates each other wirelessly. Each of the plurality of spatiallyseparated sensor nodes comprises a mote and an acoustic sensor board incommunication with the mote, where the acoustic sensor board comprisesat least one acoustic sensor.

In another aspect, the present invention relates to a method forlocating an acoustic source from an acoustic event of the acousticsource. The acoustic wave comprises a shock wave. In one embodiment, themethod comprises the step of deploying a sensor network having aplurality of spatially separated sensor nodes, each spatially separatedsensor node having a unique node ID and located in a predeterminedposition encountering acoustic waves generated by an acoustic eventpassing proximate to the plurality of spatially separated sensor nodes.In one embodiment, each of the plurality of spatially separated sensornodes comprises a mote and an acoustic sensor board in communicationwith the mote, wherein the acoustic sensor board comprises at least oneacoustic sensor. The plurality of spatially separated sensor nodescommunicates each other wirelessly.

The method further comprises the step of synchronizing the plurality ofspatially separated sensor nodes of the sensor network to a common timebase. In one embodiment, the synchronizing step is performed with aflooding time synchronization protocol. The flooding timesynchronization protocol comprises the steps of (a) electing a node fromthe plurality of spatially separated sensor nodes as a root node atstarting time of the sensor network to which the rest of the pluralityof spatially separated sensor nodes will be synchronized, (b)periodically broadcasting a message by the root node to nodes within abroadcast radius of the root node, the message containing a root ID, asequence number and a time stamp, the root ID being the unique node IDof the root node, the sequence number being a monotonically increasedunique ID generated by the root node, the time stamp being the globetime known by the root node at the time of message transmission, (c)recording its own local time when receiving the broadcasted message soas to have a reference point with an estimate of the global time alongwith its own local time for each of the nodes within the broadcastradius of the root node if the sequence number for the broadcastedmessage is higher than the highest sequence number stored in a referencetable in the corresponding node, (d) synchronizing each of the nodes byupdating its reference table with the reference point, and the sequencenumber and the current root ID, (e) re-broadcasting the message usingits highest sequence number and the current root ID by the synchronizednode to nodes within a broadcast radius of the synchronized node so asto synchronize the nodes, (f) repeating steps (b)-(e) to synchronize thesensor network to the root node, and (g) re-electing a root node if anode does not received a message for a predetermined period of time.

Moreover, the method comprises the step of obtaining information of theacoustic waves from each of the plurality of spatially separated sensornodes when the acoustic event is detected, the information of theacoustic waves including the time of arrival of the acoustic waves atthe corresponding sensor node.

Furthermore, the method comprises the step of broadcasting the obtainedinformation of the acoustic waves from each of the plurality ofspatially separated sensor nodes through the sensor network to a basestation. In one embodiment, the broadcasting step is performed with adirected flood-routing framework engine. The directed flood-routingframework engine performs the steps of creating a flooding policy thatdefines a direction of flooding and a way of which intermediateneighboring nodes re-broadcast messages, keeping recently received datapackets in a table together with their priority that is managed by theflooding policy, periodically selecting the data packets with thehighest priority, packing the selected data packets into a single radiomessage, and broadcasting the packed data packets to the neighboringnodes.

Additionally, the method comprises the steps of receiving thebroadcasted information of the acoustic waves from the sensor network bythe base station, and processing the received information of theacoustic waves so as to locate the acoustic source of the acoustic eventin the base station. In one embodiment, the processing step is performedwith a sensor fusion algorithm. The sensor fusion algorithm comprisesthe steps of defining a consistency function from the obtainedinformation of the acoustic waves and positions of the correspondingsensor nodes finding a maximum of the consistency function, andidentifying a location of the maximum of the consistency function as thelocation of the acoustic source of the acoustic event. The consistencyfunction is configured such that the consistency function automaticallyclassifies and eliminates erroneous measurements and multi-path effects.

In another aspect, the present invention relates to a system forlocating an acoustic source from an acoustic event of the acousticsource. In one embodiment, the system has a sensor network having aplurality of spatially separated sensor nodes, each spatially separatedsensor node having a unique node ID and located in a predeterminedposition encountering acoustic waves generated by an acoustic eventpassing proximate to the plurality of spatially separated sensor nodes,means for synchronizing the plurality of spatially separated sensornodes of the sensor network to a common time base, means for obtaininginformation of the acoustic waves from each of the plurality ofspatially separated sensor nodes when the acoustic event is detected,the information of the acoustic waves including the time of arrival ofthe acoustic waves at the corresponding sensor node, means forbroadcasting the obtained information of the acoustic waves from each ofthe plurality of spatially separated sensor nodes through the sensornetwork, and a base station for receiving information of the acousticwaves broadcasted from the sensor network and processing the receivedinformation of the acoustic waves so as to locate the acoustic source ofthe acoustic event. In one embodiment, the base station runs a sensorfusion algorithm to process the received information of the acousticwaves.

In one embodiment, the means for synchronizing the plurality ofspatially separated sensor nodes of the sensor network comprises aflooding time synchronization protocol, the means for broadcasting theobtained information of the acoustic waves from each of the plurality ofspatially separated sensor nodes through the sensor network comprises adirected flood-routing framework engine.

These and other aspects of the present invention will become apparentfrom the following description of the preferred embodiment taken inconjunction with the following drawings, although variations andmodifications therein may be affected without departing from the spiritand scope of the novel concepts of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate one or more embodiments of theinvention and, together with the written description, serve to explainthe principles of the invention. Wherever possible, the same referencenumbers are used throughout the drawings to refer to the same or likeelements of an embodiment, and wherein:

FIG. 1 shows schematically (a) a system architecture according to oneembodiment of the present invention, and (b) an acoustic event generatedby a gunshot.

FIG. 2 shows a plot of zero crossing coding of an audio signal.

FIG. 3 shows a sensor fusion approach based on the time of arrival dataaccording to one embodiment of the present invention.

FIG. 4 shows a top view of a system deployed in a protecting areaaccording to one embodiment of the present invention.

FIG. 5 shows a histogram of localization accuracy in 3D and 2D accordingto one embodiment of the present invention.

FIG. 6 shows a flow chart of a method for locating an acoustic sourcefrom an acoustic event of the acoustic source according to oneembodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is more particularly described in the followingexamples that are intended as illustrative only since numerousmodifications and variations therein will be apparent to those skilledin the art. Various embodiments of the invention are now described indetail. Referring to the drawings FIGS. 1-6, like numbers indicate likecomponents throughout the views. As used in the description herein andthroughout the claims that follow, the meaning of “a”, “an”, and “the”includes plural reference unless the context clearly dictates otherwise.Also, as used in the description herein and throughout the claims thatfollow, the meaning of “in” includes “in” and “on” unless the contextclearly dictates otherwise. Moreover, titles or subtitles may be used inthe specification for the convenience of a reader, which shall have noinfluence on the scope of the present invention. Additionally, someterms used in this specification are more specifically defined below.

DEFINITIONS

The terms used in this specification generally have their ordinarymeanings in the art, within the context of the invention, and in thespecific context where each term is used.

Certain terms that are used to describe the invention are discussedbelow, or elsewhere in the specification, to provide additional guidanceto the practitioner in describing the apparatus and methods of theinvention and how to make and use them.

For convenience, certain terms may be highlighted, for example usingitalics and/or quotation marks. The use of highlighting has no influenceon the scope and meaning of a term; the scope and meaning of a term isthe same, in the same context, whether or not it is highlighted. It willbe appreciated that the same thing can be said in more than one way.Consequently, alternative language and synonyms may be used for any oneor more of the terms discussed herein, nor is any special significanceto be placed upon whether or not a term is elaborated or discussedherein. Synonyms for certain terms are provided. A recital of one ormore synonyms does not exclude the use of other synonyms. The use ofexamples anywhere in this specification, including examples of any termsdiscussed herein, is illustrative only, and in no way limits the scopeand meaning of the invention or of any exemplified term. Likewise, theinvention is not limited to various embodiments given in thisspecification. Furthermore, subtitles may be used to help a reader ofthe specification to read through the specification, which the usage ofsubtitles, however, has no influence on the scope of the invention.

As used herein, “around”, “about” or “approximately” shall generallymean within 20 percent, preferably within 10 percent, and morepreferably within 5 percent of a given value or range. Numericalquantities given herein are approximate, meaning that the term “around”,“about” or “approximately” can be inferred if not expressly stated.

As used herein, the term “synchronization” refers to coordination withrespect to time of two or more events.

OVERVIEW OF THE INVENTION

The present invention, in one aspect, relates to a system for locatingan acoustic source from an acoustic event of the acoustic source.Referring in general to FIGS. 1( a) and 1(b), and particularly to FIG.1( a) first, a system 100 for locating an acoustic source 190 from anacoustic event 160 of the acoustic source 190 is shown according to oneembodiment of the current invention. One example of the acoustic event160 is an event of a gunfire (gunshot) 160. The acoustic event 160 canalso be an explosion, a combination of a gunfire and an explosion, orthe like. The acoustic wave includes a shock wave 130 and a muzzle blast140 for the gunfire, as shown in FIG. 1( b). In this embodiment, thesystem 100 has a sensor network 110 and a base station 150. The sensornetwork 110 has a plurality of spatially separated sensor nodes 120.Each sensor nodes 120 has a unique identity (hereinafter “ID”) and islocated in a predetermined position encountering acoustic wavesgenerated by the acoustic event 160 passing proximate to the pluralityof spatially separated sensor nodes 120. Each of the plurality ofspatially separated sensor nodes 120 includes a mote and an acousticsensor board that is in communication with the mote. The acoustic sensorboard has at least one acoustic sensor. In one embodiment, the pluralityof spatially separated sensor nodes communicates each other wirelessly.The plurality of spatially separated sensor nodes 120 of the sensornetwork 110 are synchronized to a common time base such that when theacoustic event 160 is detected, information of the acoustic waves fromeach of the plurality of spatially separated sensor nodes 120 isobtained and broadcasted through the sensor network 110 to a basestation 150. The information of the acoustic waves includes the time ofarrival of the acoustic waves at the corresponding sensor node. The basestation 150 is adapted for receiving information of the acoustic wavesbroadcasted from the sensor network and processing the receivedinformation of the acoustic waves so as to locate the acoustic source ofthe acoustic event 160. In one embodiment, the base station comprises acomputer. The system 100 further includes a middleware service 125 forsynchronizing the plurality of spatially separated sensor nodes 120 ofthe sensor network 110 and routing message through the sensor network110. Additionally, the system 100 includes a hardware layer 121, anoperating system 123, and application related components 127 that,together with the middleware service 125, are incorporated into each theplurality of spatially separated sensor nodes 120.

Referring to FIG. 6, a flow chart of a method for locating an acousticsource from an acoustic event of the acoustic source is shown accordingto one embodiment of the present invention. The method 600 in thisembodiment includes the following steps: at step 610, a sensor networkhaving a plurality of spatially separated sensor nodes is deployed. Eachspatially separated sensor node has a unique node ID and is located in apredetermined position encountering acoustic waves generated by anacoustic event passing proximate to the plurality of spatially separatedsensor nodes.

At step 620, the plurality of spatially separated sensor nodes of thesensor network is synchronized to a common time base. In one embodiment,the synchronizing step 620 is performed with a flooding timesynchronization protocol. The flooding time synchronization protocolincludes the steps of (a) electing a node from the plurality ofspatially separated sensor nodes as a root node at starting time of thesensor network to which the rest of the plurality of spatially separatedsensor nodes will be synchronized, (b) periodically broadcasting amessage by the root node to nodes within a broadcast radius of the rootnode, the message containing a root ID, a sequence number and a timestamp, the root ID being the unique node ID of the root node, thesequence number being a monotonically increased unique ID generated bythe root node, the time stamp being the globe time known by the rootnode at the time of message transmission, (c) recording its own localtime when receiving the broadcasted message so as to have a referencepoint with an estimate of the global time along with its own local timefor each of the nodes within the broadcast radius of the root node ifthe sequence number for the broadcasted message is higher than thehighest sequence number stored in a reference table in the correspondingnode, (d) synchronizing each of the nodes by updating its referencetable with the reference point, and the sequence number and the currentroot ID, (e) re-broadcasting the message using its highest sequencenumber and the current root ID by the synchronized node to nodes withina broadcast radius of the synchronized node so as to synchronize thenodes, (f) repeating steps (b)-(e) to synchronize the sensor network tothe root node, and (g) re-electing a root node if a node does notreceived a message for a predetermined period of time.

At step 630, information of the acoustic waves from each of theplurality of spatially separated sensor nodes is obtained when theacoustic event is detected. The obtained information of the acousticwaves including the time of arrival of the acoustic waves at thecorresponding sensor node.

At step 640, the obtained information of the acoustic waves from each ofthe plurality of spatially separated sensor nodes is broadcasted throughthe sensor network to a base station. In one embodiment, thebroadcasting step 640 is performed with a directed flood-routingframework engine. The directed flood-routing framework engine performsthe steps of creating a flooding policy that defines a direction offlooding and a way of which intermediate neighboring nodes re-broadcastmessages, keeping recently received data packets in a table togetherwith their priority that is managed by the flooding policy, periodicallyselecting the data packets with the highest priority, packing theselected data packets into a single radio message, and broadcasting thepacked data packets to the neighboring nodes.

At step 650, the broadcasted information of the acoustic waves from thesensor network is received by the base station. And at step 660, thereceived information of the acoustic waves is processed so as to locatethe acoustic source of the acoustic event in the base station. In oneembodiment, the processing step 660 is performed with a sensor fusionalgorithm. The sensor fusion algorithm includes the steps of defining aconsistency function from the obtained information of the acoustic wavesand positions of the corresponding sensor nodes finding a maximum of theconsistency function, and identifying a location of the maximum of theconsistency function as the location of the acoustic source of theacoustic event. The consistency function is configured such that theconsistency function automatically classifies and eliminates erroneousmeasurements and multi-path effects.

Additional examples and aspects of the present invention are given belowin details.

IMPLEMENTATIONS AND EXAMPLES OF THE INVENTION

Without intent to limit the scope of the invention, further exemplarymethods and their related results according to the embodiments of thepresent invention are given below. Note again that titles or subtitlesmay be used in the examples for convenience of a reader, which in no wayshould limit the scope of the invention. Moreover, certain theories areproposed and disclosed herein; however, in no way they, whether they areright or wrong, should limit the scope of the invention.

System Architecture

Referring back to FIG. 1 a, the system 100 according to one embodimentof the present invention utilizes an ad hoc wireless network 110 ofinexpensive acoustic sensors. The wireless network 110 has a pluralityof sensor nodes 120 that measure a shock wave and a muzzle blastassociated with a gunshot (gunfire) 160 from an acoustic source 190 (ashooter with gun) and propagate the measured results back to a basestation 150. The base station 150 including one or more PC computers orother processors runs a sensor fusion algorithm and acts as a primaryuser interface. Optionally, one or more personal digital assistant(hereinafter “PDA”) devices may act as secondary user interfaces. In oneembodiment, the PDA gets data from the base station through the wirelessnetwork 110.

The system 100 of the present invention running on individual nodes 120has a traditional layered architecture 121 as shown in FIG. 1 a. Thehardware layer 121 is built upon a MICA mote platform. In oneembodiment, MICA2 mote platform [3], a commercial off-the-shelf(hereinafter “COTS”) sensor node from Crossbow Technology, Inc., SanJose, Calif., is employed. The MICA2 mote includes a 7.3 MHz 8-bit AtmelATmega 128L low power microcontroller, a 433 MHz Chipcon CC1000multi-channel transceiver with a 38.4 kbps transfer rate and a maximumpractical range of about 100 meters, 4 KB RAM and a 128 KB flash memory.The MICA2 mote also has an extension interface that may be used toconnect various sensor boards containing photo, temperature, humidity,pressure sensors, accelerometers, magnetometers and microphones. TheMICA2 mote is powered with two AA batteries. Other types of motes canalso be used to practice the present invention.

The MICA2 mote platform is operated with an operating system 123. In oneembodiment, the operating system 123 includes a TinyOS operating systemdeveloped by University of California at Berkeley [2]. The TinyOS is acomponent-based configurable operating system with a very small memoryfootprint that is specifically designed for resource limited devicessuch as sensor nodes in a sensor network [3]. The TinyOS provides alarge set of software components implementing basic functionalities thatan application might need, which include services, such as basic I/O,timers, and wireless communication. Components may contain othercomponents in a hierarchical fashion. Each application includesapplication-specific components written by a user and a subset of theTinyOS components. In this way, an application-specific TinyOS instanceis created for each application providing only the services it actuallyneeds, which conserves system resources. Other operating systems canalso be employed to practice the present invention.

Middleware Services

There are several unique constraints on the existing middleware servicesin a target hardware platform. For example, in order to correlateindividual measurements, the clocks of the sensor nodes of the sensornetwork need to be synchronized. The overall localization error causedby imperfect time synchronization is required to be less than one foot.Since the sound travels approximately one foot per millisecond in air, amulti-hop time synchronization algorithm with an error of less than onemillisecond is needed. Additionally, the middleware services run on theseverely resource limited MICA2 motes. As described below in details, aflooding time synchronization protocol (hereinafter “FTSP”) [8] can beapplied to overcome the obstacles of the existing middleware services,which provides an average error of less than 2 μs per hop.

In addition to accuracy requirements, the real-time performance of thesystem is also required. The overall latency of the system, that is thetime from a detection of a gunshot until the display of an estimatedshooter position on a user interface, needs to be less than about twoseconds. Experiments show that for accurate position estimation in thepresence of multi-path effects, about 7-8 good line of sightmeasurements are required. In one embodiment, the sensor nodes of thesensor network with a maximum distance from the base station are 5 hopsaway. The effective bandwidth between two motes under idealcircumstances is no more than 800 bytes per second which transmits about20-25 messages per second. However, the most challenging characteristicof the application is the bursty nature of communications. If two ormore motes detect a shot at approximately the same time and send theirdata right away, this data transmission may saturate the availablebandwidth of the sensor network. The present invention discloses adirected flood-routing framework (hereinafter “DFRF”) that is able toachieve the real-time performance.

Time Synchronization

The FTSP is designed to address problems arising in multi-hop dynamicnetworks: scalability, robustness and fast convergence. The scalabilityissue is of crucial importance in sensor networks, where hundreds oreven thousands of sensor nodes are deployed, hereby forming a multi-hopad-hoc sensor network. As described below, the FTSP algorithm is robustto maintain network connectivity even when the network topology changes,the network nodes move, break or die. The FTSP algorithm is able toconverge fast to a global synchronized state shortly after the startupof the sensor network. Also, the FTSP algorithm enables each sensor nodeto tell whether its clock is synchronized or not.

In one embodiment, the FTSP algorithm utilizes periodic broadcastmessages to obtain time synchronization reference points between asender and its neighbors. The synchronization process exploits multiplereference points to compensate differences in clock times and clockfrequencies (skew) as well. After convergence the whole network issynchronized to an elected leader node with all nodes having a goodestimate of the global time. The FTSP algorithm is robust againsttopology changes and node failures

The reference points for time synchronization are obtained by messagebroadcasting. A sender that is assumed to be already synchronized sendsthe synchronization broadcast message containing the global time knownby the sender at the time of message transmission. Thus, the messagecontains its own sending time, which may be very different from themessage posting time. This delay is random and mainly caused by a mediumaccess control (hereinafter “MAC) layer protocol of the TinyOS, whichcontrols the radio channel access and provides collision avoidance. Toavoid large uncertainties resulting from the varying access time, timestamping is performed when the first byte of the message is beingtransmitted. The receiver records its own local time after the arrivalof the first byte. Thus the receiver has a reference point with anestimate of the global time along with its corresponding own local timestamp. The reference points are stored in a Reference Table used toestimate the clock skew.

A single reference point is sufficient to determine an offset betweenthe broadcasted global time and the local time, and to synchronize theclocks of two nodes with the very same clock frequency. For conventionalhardware, however, the significant clock skew necessitates very frequentresynchronization to maintain the required accuracy, which undesirablyincreases the sensor network load and power consumption. The inventedalgorithm practically eliminates the error resulting from differentclock frequencies by estimating and correcting the clock skews. Theestimation on each mote is based upon the Reference Table containingreference points that are obtained from the received synchronizationmessages. Whenever a new message arrives and the Reference Tablecontains enough consistent reference points, both the clock offset andthe skew are estimated by linear regression, and the sensor nodedeclares itself being synchronized. The global time estimate on eachnode is the local time that is modified by the estimated offset and skewvalues. Each synchronized node periodically broadcasts timesynchronization messages with its own global time estimate.

The sensor network is ultimately synchronized to one specific node,called the root that is dynamically elected. In a connected networkthere is one root, except for short transient periods, when there maytemporarily be zero or multiple roots in the system. If a node is in thebroadcast radius of the root then it collects reference points directlyfrom the root. Since all synchronized nodes broadcast synchronizationmessages, nodes outside the broadcast radius of the root gatherreference points indirectly from other nodes that are located closer tothe root.

Each synchronization message contains a root ID, a sequence number and atime stamp. The root ID is the unique node ID of the current root asknown by the sender of the message. The sequence number is amonotonically increasing unique ID generated by the root and forwardedby other synchronized nodes. A received synchronization message isconsidered to be a new message at a node if (1) the root ID in themessage is the same as the root ID known by the node and the sequencenumber is higher than the highest sequence number received so far by thenode, or (2) the root ID is smaller than the root ID known by the node.After receiving a new synchronization message the node adds thereference point to its Reference Table and updates the highest sequencenumber and the current root ID variables.

The root periodically broadcasts time synchronization messages, which,in addition to the time stamp, contain the monotonically increasingsequence number and the node ID of the root. After receiving asynchronization message the nodes update their Reference Tables andeventually become synchronized. Every synchronized node periodicallybroadcasts synchronization messages, using its highest sequence numberand current root ID.

The root is elected sooner after the startup of the network and a newroot is dynamically elected in case of a root failure. The electionprocedure is based upon unique node IDs and the sequence numbers.Whenever a node does not receive new time synchronization messages for acertain period of time then it declares itself to be the root. If a rootreceives a time synchronization message with a smaller root ID than itsown ID then it gives up its root status. Thus, if two or more rootsexist in a connected network then the one with the smallest node ID willeventually become the single root and the others will synchronizethemselves to the winner.

In one embodiment, the FTSP algorithm was implemented on MICA2 motes andthe performance was evaluated in a network containing 64 motesdistributed along an 8×8 grid, where the distance from the root to thefarthest mote was 7 hops. Every mote sent one synchronization messageper 30 seconds. An extensive 160-minute evaluation was performedincluding randomly switching off and on nodes, switching off and on halfof the motes at the same time, and switching off the root. The wholenetwork converged in approximately 10 minutes after startup, such thatthe average synchronization error was about 18 microseconds (i.e. about1.7 microseconds per hop). The maximum error in the network was about 38microseconds, which occurred after the root was switched off.

Message Routing

In one embodiment, a DFRF is built on an engine that manages the routingof messages on all nodes in the sensor network [9]. Applicationcomponents using the flood-routing engine send and receive regular sizeddata packets according to an interchangeable flooding policy. Theflooding policy specifies the “direction” of flooding and howintermediate nodes rebroadcast messages. The DFRF engine keeps therecently received data packets in a table together with their prioritywhich is managed by the policy, periodically selects the data packetswith the highest priority, packs them into a single radio message andbroadcasts it to the neighboring nodes.

Specifically, when the DFRF engine broadcasts or re-broadcasts a radiomessage, it does not include the current node ID in the message, but apolicy dependent value, called the rank of the node. The rank of thenode describes the progress of a data packet in a policy-dependent way,and is used to determine what to do with incoming data packets. For theDFRF engine the rank is simply an array of bytes passed to the floodingpolicy when a data packet arrives. Note that the rank does not depend onthe data packet, thus the single rank value is used for multipleaggregated data packets. For the converge-cast policy disclosed in theinvented system, the node rank is a hop-count distance from the root.

Apart from defining the rank of nodes, the flooding policy has a primaryrole of governing the data packet lifecycle at each node. The lifecycleof a particular data packet is a finite state machine. There are twotypes of states: one is corresponding to a state in which the datapacket is eligible for retransmission, and the other is corresponding toa state in which the data packet must be remembered but should not beretransmitted. For example, if an intermediate node retransmits a datapacket and then receives the same data packet from a node that is closerto the target than itself, then the data packet should not beretransmitted. However, the node must remember the data packet toprevent retransmitting the same data packet in case it receives it laterfrom a node further from the target than itself.

The DFRF engine maintains a table of data packets and their currentstates. Each state is associated with a unique priority. The DFRF enginehas three basic activities: broadcasting and receiving radio messages,and aging data packets in the table. When a message is sent, the enginecalculates the new state based on the policy for each data packetcontained in the message. Then it packs the highest prioritytransmittable messages into a radio message buffer. The DFRF enginestops sending messages if there are no more transmittable data packetsin the table.

When a new radio message is received, the engine unpacks each containeddata packet. For each data packet it looks for a match in the table. Ifno match is found, it places it in an available slot. If the table isfull then the data packet with the lowest priority is evicted. Thisevicted data packet is overwritten by a newly arrived data packet with amaximum priority. Finally, the DFRF engine periodically ages all validdata packets in the table by executing the next step in the data packetlife-cycle state machine defined by the flooding policy.

In one embodiment of the present invention, a converge-cast policy isimplemented. Similar to gradient-based routing schemes, the algorithmutilizes its estimated distance from the base station. The base stationinitializes a gradient estimation by sending flooding broadcast messagesto the network. Each sensor records the hop-count from the base stationto itself when a message is received for the first time, and thenrebroadcasts the message. Using multiple flooding broadcasts, theaverage of these hop-count measurements provides a good estimate of thedistance from the base station. Furthermore, the flooding policy is finetuned to deliver as many messages as possible to the base station in thefirst second. Then, in a more reliable, but slower second phase, most ofthe remaining sensor readings are delivered. In one embodiment, theapproach was performed on a 60-mote system with a diameter of 10 hops.Results indicated that about 12-15 messages were reliably received inthe first second.

Signal Detection

In one embodiment, a sensor board having a MICA2 mote has threeindependent acoustic channels and three microphones located exactly 2inches from each other and associated with the three acoustic channels,respectively. In addition to the three acoustic channels, the sensorboard has a Xilinx Spartan II Field Programmable Gate-Array (hereinafter“FPGA”), (Xilinx, Co., San Jose, Calif.). The FPGA chip implementssignal processing algorithms and the I²C interface to the MICA2 mote.The on-board processing capability is necessary since the Atmelmicrocontroller on the MICA2 mote does not have enough computing power.The FPGA draws more current than the MICA2 mote is able to provide,therefore, the sensor board may have its own power source.

The incoming raw acoustic signal, such as a shock wave and muzzle blastdetection data, is compressed using zero-crossing (hereinafter “ZC”)coding. ZC is a widely used technique in speech recognition [4], whichuses a comparator with a deadband around zero to code intervals betweenzero-crossings by storing the start time of the interval, the length ofthe interval, the minimum or maximum signal value, the previous signalaverage amplitude and the rise time of the signal. Both the shock waveand the typical muzzle blast have characteristic ZC signatures that thedetectors look for in the noisy data.

Specifically, the incoming raw acoustic signal sampled at 1 MHz iscompressed using ZC coding. An interval between zero-crossings is codedby storing the start time of the interval (T_(j)), the length of theinterval (L_(j)), the minimum or maximum signal value (Mm_(j)), theprevious signal average amplitude (P) and the rise time (τ_(j)) of thesignal, where j=1, 2, 3, . . . FIG. 2 shows ZC coding of an audiosignal, where curve line 210 line show the original signal, curve line215 represents the coded signal, while dashed lines 220 are comparisonvalues. Characteristic features of both the shock wave and muzzle blastin the ZC domain are extracted using an extensive acoustic library ofshots. These features are used to detect possible occurrences of theshock wave and muzzle blast patterns in the coded signal stream. Thetime of arrival (hereinafter “TOA”) of the detected acoustic event usingthe on-board clock is stored and the mote is notified. The MICA2 motereads the measurement data, such as TOA and optionally signalcharacteristics, and performs time synchronization between its own clockand that of the acoustic board. The measured data is then propagatedback to the base station using middleware services of the sensor network

Sensor Fusion

The sensor network of the present invention provides the arrival timesof the acoustic signals to the base station. In one embodiment, the timedifference of arrival (hereinafter “TDOA”) solution of both the muzzleblast and the shockwave on every node is utilized. The TDOA of theacoustic signals of two sensors defines a hyperboloid surface. For idealmeasurements, the intersection of the resulting surfaces computed usingmultiple pairs of sensor data gives rise to the exact source of a sound.Theoretically, four non-coplanar measurements are enough to get thethree dimensional (hereinafter “3D”) localization of the source of thesound. Since the speed of the sound depends on environmental conditions,an additional measurement point may be required [5].

In another embodiment, a sensor fusion algorithm based on the TOAmeasurements is implemented to locate the sources of one or moreacoustic events. The sensor fusion algorithm is capable of locatingpositions of multi shooters at the same time, robust againstlocalization and time synchronization errors, and effectively handlesbad or multi-path measurements. The sensor fusion algorithm is basicallya search in a three-dimensional consistency function. Referring to FIG.3, the global maximum 310 of the consistency function 300 identifies aposition which is close to the source position of an acoustic event,such as a shooter. Multiple gunshots at the same time result in multiplelocal maxima. For example, as shown in FIG. 3, positions of maxima 310,320 and 330 of the consistency function 300 represent the locations ofthree gunshots, respectively.

Consistency Function

In one embodiment, let N be the number of the TOA muzzle blastmeasurements, and for each i=1, 2, . . . , N let (x_(i), y_(i), z_(i))be the coordinates of the sensor node making the ith measurement andt_(i) be the TOA of the detected muzzle blast. In this embodiment, noassumption that the sensors make only one measurement per shot is made,because some sensors may detect both a direct line of sight and adelayed echo. Also no assumption that the N measurements correspond to asingle shot is made, as several shots may be fired in a few secondsduring an urban combat. To find the positions of the sources of one ormore acoustic events, such as the positions of one or more shooters,first a consistency function is determined on the four-dimensionalspace-time space, and its local maxima of the consistency function aresearched, where the local maxima correspond to the location and time ofpossible shots. Then these local maxima are further analyzed toeliminate false positives caused by echoes of the one or more acousticevents.

For any hypothetical shooter position (x, y, z) and shot time t, thetheoretical TOA of the muzzle blast at the sensor that record the ithmeasurement is

t _(i)(x, y, z, t)=t+[(x−x _(i))²+(y−y _(i))²+(z−z _(i))²]^((1/2))/ν,

where ν is the speed of the sound. If the ith measurement is a directline of sight detection of this hypothetical shot, then the timest_(i)(x, y, z, t) and t_(i) must be equal. In practice, however, due toerrors in sensor localization, time synchronization and signaldetection, only the following inequality is satisfied

|t _(i)(x, y, z, t)−t _(i)|≦τ,  (1)

where τ=δ₁/ν+τ₂+τ₃ is an uncertainty value, δ₁ is the maximumlocalization error, τ₂ is the maximum time synchronization error, τ₃ isthe maximum allowed signal detection uncertainty, and τ is determined bythe localization error dominates. In one embodiment, it is assumed thatan upper bound for r is known based on an a priori evaluation of theself localization, the time synchronization and the signal detectionalgorithms. The consistency function C_(τ)(x, y, z, t) is defined as thenumber of measurements for which the inequality (1) holds:

C _(τ)(x, y, z, t)=count(|t _(i)(x, y, z, t)−t_(i)|≦τ)_(i=1, 2, . . . , N)

The consistency function is an integer valued function and always lessthan or equal to N. It is additive for the list of TOA measurements, andincreasing in τ. Although C_(τ)(x, y, z, t) is not continuous, itsatisfies a crucial property utilized in the search algorithm:

C _(τ/4)(x′, y′, z′, t′)≦C _(τ)(x, y, z, t)  (2)

whenever |x−x′|/ν, |y−y′|/ν, |z−z′|/ν, or |t−t′|≦τ/2.

The consistency function usually takes its maximum value not in a singlepoint but also in a 4-dimensional area, called a max area. The size ofthe max area depends on τ. If erroneous measurements are present, it ispossible that there are more unconnected max areas, and it is alsopossible that the true location of the gunshot is not contained in themax area. A simple counterexample may easily be generated even for theideal situation with τ=0, M correct measurements and M−2 badmeasurements, where the maximum consistency value becomes M+1, and theoptimum is not at the true location. In certain situations, multi-patheffects may create strong local maxima (mirror effect), but based onempirical evaluation the uncertainty value τ must be higher for mirrorimages to reach the same C_(τ)(x, y, z, t) value.

Search Algorithm

The time complexity of finding the maxima of the consistency function inan interest area [X_(min), X_(max)]×[Y_(min),Y_(min)]×[Z_(min), Z_(max)]and in the appropriate time window [T_(min), T_(max)] is linear in termsof X_(max)−X_(min), Y_(max)−Y_(min), Z_(max)−Z_(min), T_(max)−T_(min),and N. Because of the inequality (2) it is enough to evaluateC_(τ/4)(x′, y′, z′, t′) at grid points of the search space with uniformdistance ντ/2 for the x, y and z coordinates and τ/2 for t, and thenfinding the maxima among these points.

In one embodiment, a generalized Bisection method based on intervalarithmetic is applied to find local and global maxima of the consistencyfunction in an interest area. Interval arithmetic introduces algebraicoperations on closed intervals that represent possible values ofvariables. Every algebraic expression, including the definition of theconsistency function, is evaluated for intervals. For intervals[x_(min), x_(max)], [y_(min), y_(max)], [z_(min), z_(max)], and[t_(min), t_(max)] the consistency function yields the interval [C_(τ)^(min), C_(τ) ^(max)]=C_(τ)([x_(min), x_(max)], [y_(min), y_(max)],[z_(min), z_(max)], [t_(min), t_(max)]) that have the property that forevery x_(min)≦x≦x_(max), y_(min)≦y≦y_(max), z_(min)≦z≦z_(max) andt_(min)≦t≦t_(max)

C _(τ) ^(min) ≦C _(τ)(x, y, z, t)≦C _(τ) ^(max.)

The value C_(τ) ^(min) is the number of measurements that satisfy theinequality (1) for certain points of the 4-dimensional rectangularregion determined by [x_(min), x_(max)]×Λ×[t_(min), t_(max)] while C_(τ)^(max) is the number of measurements that satisfy (1) for all points ofthe same region. During the search, a list of 4-dimensional rectangularregions (‘boxes’) is maintained, initially containing only [X_(min),X_(max)]×[Y_(min), Y_(max)]×[Z_(min), Z_(max)]×[T_(min), T_(max)],together with their evaluation under the consistency function. At eachstep, the region that has maximum C_(τ) ^(max) value is removed from thelist, and bisected into two equal parts along its longest dimension.Then the two resulting regions is inserted back to the list. Thisprocedure is stopped when the size of the maximum region is less thanντ/2 for the space and τ/2 for the time coordinate. The resulting4-dimensional region is guaranteed to contain at least one globalmaximum point of the consistency function C_(τ)(x, y, z, t). Note thatthere may be several boxes with the same C_(τ) ^(max) value, usuallycovering a small area around the true location. When displayed, thisarea provides an easily understandable visual representation of theuncertainty region of the location estimate.

The consistency function may have several local maxima, resulting fromechoes or multiple gunshots. The iterative application of the abovesearch method with appropriate echo detection provides a powerful toolfor simultaneous shooter localization. The algorithm is faster than thesimple linear algorithm, which requiresN(X_(max)−X_(min))(Y_(max)−Y_(min))(Z_(max)−Z_(min))(T_(max)−T_(min))/(ν³τ⁴)computational steps. For example, for a 200×100×20 meter urban area witha 2-second time window and an uncertainty value of about 0.3milliseconds and about 30 TOA measurements, this requires to 8×10¹³computational steps for the linear algorithm to find the local andglobal maxima. However, the generalized Bisection method may find thelocal and global maxima in less than 10⁵ computational steps.

Results

The real-time performance of the invented system was conducted in aseries of field trials in the McKenna Military Operations on UrbanTerrain (hereinafter “MOUT”) training facility in Fort Benning, Ga. Thesystem setup utilized 56 motes deployed in the central area of theMcKenna village as shown in FIG. 4, a screen dump of the systemgraphical user interface that includes an overhead picture of the MOUTsite. The estimated position of the shooter is shown in FIG. 4 by alarge circle 410, while the direction of the shot is indicated by anarrow 430. Other circles 460 and 470 indicate the sensor positions wheremedium sized ones 460 denote sensor locations whose data were utilizedin the current location estimation.

For error analysis purposes, 20 different known shooter positions wereused in the experiment. During the performance, 171 gun shots werefired, where 101 gun shots were blanks and 70 gun shots were with shortrange training ammunitions (hereinafter “SRTA”). Since the performanceof the system was similar for both types of ammunition, only the unifiedresults are presented.

The shooter localization error of the invented system is shown in FIG.5, where a 3D error 510 is a total localization error, while in atwo-dimensional (hereinafter “2D”) error 520 the elevation informationis omitted. As shown in FIG. 5, the system accuracy in 2D is better thanthat in 3D. The average 2D error of localization of the shooter wasabout 0.6 meters, among them, 83% of the shots had less than one meter,and 98% of the shots had less than 2 meters of error. The elevationdetection was not as accurate because the sensors were mostly positionedon the ground, approximately in a plane. There were only a few sensorslocated on rooftops or window ledges. This lack of variation in thesensor node elevation resulted in the 3D accuracy being worse than the2D accuracy. This could be significantly improved by locating a largerfraction of the sensor nodes in elevated positions. As shown in FIG. 5,46% of the shots had less than 1 m, and 84% of shots had less than 2 mposition error in 3D. The average 3D error was ammeter 1.3 meters.

The present invention, among other things, discloses a system forlocating the shooter localization by utilizing a sensor network togather acoustic information in the selected area. The sensor networkutilizes MICA2 motes and custom acoustic sensor boards to measure thetime of arrival of shock waves and muzzle blasts. The measurements arepropagated through the sensor network to the base station where thefusion algorithm estimates the location of the shooter, along with thetrajectory of the supersonic projectile.

The foregoing description of the exemplary embodiments of the inventionhas been presented only for the purposes of illustration and descriptionand is not intended to be exhaustive or to limit the invention to theprecise forms disclosed. Many modifications and variations are possiblein light of the above teaching.

The embodiments were chosen and described in order to explain theprinciples of the invention and their practical application so as toenable others skilled in the art to utilize the invention and variousembodiments and with various modifications as are suited to theparticular use contemplated. Alternative embodiments will becomeapparent to those skilled in the art to which the present inventionpertains without departing from its spirit and scope. Accordingly, thescope of the present invention is defined by the appended claims ratherthan the foregoing description and the exemplary embodiments describedtherein.

REFERENCE LIST

-   1. Duckworth et al., 1996, Acoustic counter-sniper system, Proc. of    SPIE International Symposium on Enabling Technologies for Law    Enforcement and Security,-   2. Gay et al., 2003, The nesC Language: A Holistic Approach to    Networked Embedded Systems, Proc. of PLDI.-   3. Hill et al., 2000, System Architecture Directions for Networked    Sensors, Proc. of ASPLOS, 2000.-   4. Lupu et al., 2002, Speaker Verification Rate Study Using the    TESPAR Coding Method, Proc. of COST 276 Workshop on Information and    Knowledge Management for Integrated Media Communication.-   5. Mahajan and Walworth 2001, 3-D Position Sensing Using the    Differences in the Time-of-Flights from a Wave Source to Various    Receivers, IEEE Transactions On Robotics and Automation, Vol. 17,    No. 1, pp. 91-94.-   6. Stoughton, 1997, Measurements of Small Caliber Ballistic Shock    Waves in Air, JASA 102 (2), Part 1.-   7. Vick et al., 2000, Aerospace Operations in Urban Environments:    Exploring New Concepts, RAND MR-1187.-   8. Kusy et al., 2004, Flooding Time Synchronization, Technical    Report, Institute for Software Integrated Systems, Vanderbilt    University.-   9. Maroti, 2004, Directed Flood-Routing Framework, Technical Report,    Institute for Software Integrated Systems, Vanderbilt University.

1. A system for locating an acoustic source from an acoustic event ofthe acoustic source, comprising: a. a sensor network having a pluralityof spatially separated sensor nodes, each spatially separated sensornode located in a predetermined position encountering acoustic wavesgenerated by an acoustic event passing proximate to the plurality ofspatially separated sensor nodes, wherein the plurality of spatiallyseparated sensor nodes are synchronized to a common time base such thatwhen the acoustic event is detected, information of the acoustic wavesfrom each of the plurality of spatially separated sensor nodes isobtained and broadcasted through the sensor network, the information ofthe acoustic waves including the time of arrival of the acoustic wavesat the corresponding sensor node; and b. a base station for receivingthe information of the acoustic waves broadcasted from the sensornetwork and processing the received information of the acoustic waves soas to locate the acoustic source of the acoustic event.
 2. The system ofclaim 1, further comprising a middleware service for synchronizing theplurality of spatially separated sensor nodes of the sensor network androuting message through the sensor network.
 3. The system of claim 1,wherein the plurality of spatially separated sensor nodes communicateseach other wirelessly.
 4. The system of claim 1, wherein each of theplurality of spatially separated sensor nodes comprises a mote and anacoustic sensor board in communication with the mote.
 5. The system ofclaim 4, wherein the acoustic sensor board comprises at least oneacoustic sensor.
 6. The system of claim 1, wherein the acoustic wavecomprises a shock wave.
 7. The system of claim 1, wherein the basestation comprises a computer. 8-19. (canceled)
 20. A system for locatingan acoustic source from an acoustic event of the acoustic source,comprising: a. a sensor network having a plurality of spatiallyseparated sensor nodes, each spatially separated sensor node having aunique node ID and located in a predetermined position encounteringacoustic waves generated by an acoustic event passing proximate to theplurality of spatially separated sensor nodes; b. means forsynchronizing the plurality of spatially separated sensor nodes of thesensor network to a common time base; c. means for obtaining informationof the acoustic waves from each of the plurality of spatially separatedsensor nodes when the acoustic event is detected, the information of theacoustic waves including the time of arrival of the acoustic waves atthe corresponding sensor node; d. means for broadcasting the obtainedinformation of the acoustic waves from each of the plurality ofspatially separated sensor nodes through the sensor network; and e. abase station for receiving information of the acoustic waves broadcastedfrom the sensor network and processing the received information of theacoustic waves so as to locate the acoustic source of the acousticevent.
 21. The system of claim 20, wherein the plurality of spatiallyseparated sensor nodes communicates each other wirelessly.
 22. Thesystem of claim 20, wherein each of the plurality of spatially separatedsensor nodes comprises a mote and an acoustic sensor board incommunication with the mote.
 23. The system of claim 22, wherein theacoustic sensor board comprises at least one acoustic sensor.
 24. Thesystem of claim 20, wherein the synchronizing means comprises a floodingtime synchronization protocol.
 25. The system of claim 24, wherein theflooding time synchronization protocol comprises the steps of: a.electing a node from the plurality of spatially separated sensor nodesas a root node at starting time of the sensor network to which the restof the plurality of spatially separated sensor nodes will besynchronized; b. periodically broadcasting a message by the root node tonodes within a broadcast radius of the root node, the message containinga root ID, a sequence number and a time stamp, the root ID being theunique node ID of the root node, the sequence number being amonotonically increased unique ID generated by the root node, the timestamp being the globe time known by the root node at the time of messagetransmission; c. recording its own local time when receiving thebroadcasted message so as to have a reference point with an estimate ofthe global time along with its own local time for each of the nodeswithin a broadcast radius of the root node if the sequence number forthe broadcasted message is higher than the highest sequence numberstored in a reference table in the corresponding node; d. synchronizingeach of the nodes by updating its reference table with the referencepoint, and the sequence number and current root ID; e. re-broadcastingthe message using its highest sequence number and current root ID by thesynchronized node to nodes within a broadcast radius of the synchronizednode so as to synchronize the nodes; f. repeating steps (b)-(e) tosynchronize the sensor network to the root node; and g. re-electing aroot node if a node does not received a message for a predeterminedperiod of time.
 26. The system of claim 20, wherein the broadcastingmeans comprises a directed flood-routing framework engine.
 27. Thesystem of claim 26, wherein the directed flood-routing framework engineperforms the steps of: a. creating a flooding policy that defines adirection of flooding and a way of which intermediate neighboring nodesre-broadcast messages; b. keeping recently received data packets in atable together with their priority that is managed by the floodingpolicy; c. periodically selecting the data packets with the highestpriority; d. packing the selected data packets into a single radiomessage; and e. broadcasting the packed data packets to the neighboringnodes.
 28. The system of claim 20, wherein the base station runs asensor fusion algorithm.
 29. The system of claim 28, wherein the sensorfusion algorithm comprises the steps of: a. defining a consistencyfunction from the obtained information of the acoustic waves andpositions of the corresponding sensor nodes; b. finding a maximum of theconsistency function; and c. identifying a location of the maximum ofthe consistency function as the location of the acoustic source of theacoustic event, wherein the consistency function is configured such thatthe consistency function automatically classifies and eliminateserroneous measurements and multi-path effects.